package otros;

import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Mail {

    public boolean enviar(String para, String asunto, String mensaje) {
        Properties props = new Properties();
        // Nombre del host de correo, es smtp.gmail.com
        props.setProperty("mail.smtp.host", "smtp.gmail.com");
        // TLS si está disponible
        props.setProperty("mail.smtp.starttls.enable", "true");
        // Puerto de gmail para envio de correos
        props.setProperty("mail.smtp.port", "587");
        // Cuenta de correo
        props.setProperty("mail.smtp.user", "deliccioRestaurant@gmail.com");
        // Si requiere o no usuario y password para conectarse.
        props.setProperty("mail.smtp.auth", "true");
        props.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.setProperty("mail.pop3.socketFactory.fallback", "false");
        props.setProperty("mail.smtp.quitwait", "false");
        props.setProperty("mail.transport.protocol", "smtps");
        props.setProperty("mail.pop3.socketFactory.port", "587");
        props.setProperty("mail.transport.protocol.rfc822", "smtps");
        Session session = Session.getDefaultInstance(props);
        //Verficiar el envio
        session.setDebug(true);
        MimeMessage message = new MimeMessage(session);
        try {
            message.setSubject(asunto);
            message.setText(mensaje, "UTF-8", "HTML");
            //La direccion de la persona a enviar
            Address address2 = new InternetAddress(para, false);
            message.addRecipient(Message.RecipientType.TO, address2);
            Transport t = session.getTransport("smtp");
            t.connect("deliccioRestaurant@gmail.com", "sgrdeliccio2013");
            t.sendMessage(message, message.getAllRecipients());
            t.close();
            return true;
        } catch (MessagingException ex) {
            ex.printStackTrace();
            return false;
        }
    }
}